package com.ruoyi.media.mpQrcode.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.media.mpQrcode.domain.MediaMpQrcodeLink;
import com.ruoyi.media.mpQrcode.domain.vo.MediaMpQrcodeLinkVo;
import com.ruoyi.media.mpQrcode.domain.bo.MediaMpQrcodeLinkBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Collection;
import java.util.List;

/**
 * 微信群二维码参数Service接口
 *
 * @author dqw
 * @date 2023-04-24
 */
public interface IMediaMpQrcodeLinkService extends IService<MediaMpQrcodeLink> {

    /**
     * 查询微信群二维码参数
     */
    MediaMpQrcodeLinkVo queryById(Long id);

    /**
     * 查询微信群二维码参数列表
     */
    TableDataInfo<MediaMpQrcodeLinkVo> queryPageList(MediaMpQrcodeLinkBo bo, PageQuery pageQuery);

    /**
     * 查询微信群二维码参数列表
     */
    List<MediaMpQrcodeLinkVo> queryList(MediaMpQrcodeLinkBo bo);

    /**
     * 新增微信群二维码参数
     */
    Boolean insertByBo(MediaMpQrcodeLinkBo bo);

    /**
     * 修改微信群二维码参数
     */
    Boolean updateByBo(MediaMpQrcodeLinkBo bo);

    /**
     * 校验并批量删除微信群二维码参数信息
     */
    Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);



    /**
     * 解析二维码内容
     */
//    List<String> checkQRCodeContent(MediaMpQrcodeLink mediaMpQrcodeLink);


    /**
     * 截取gif每一帧的图片并识别
     */
    List<String> decodeQRCodeFromGif(InputStream gifFile);



    /**
     * 图片上传根据inputStream
     * @return
     */
    String saveImageQR(InputStream inputStream,String linkId);
}
